package com.cunshe.entity.vo;

import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import java.io.Serializable;

/**
 * 新闻资讯
 * @author xiao
 */
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class NewsInsertVO implements Serializable {

    /**
     * 模块名称 1公司新闻，2:行业资讯，3：案例
     * {@link com.cunshe.common.DictConsts}
     */
    @ApiModelProperty(value = "模块名称 1公司新闻，2:行业资讯，3：案例")
    @NotNull(message = "[type]不能为空")
    private Integer type;

    /**
     * 标题
     */
    @ApiModelProperty(value = "标题")
    @NotBlank(message = "[title]不能为空")
    @Size(max = 255, message = "${validatedValue}长度不能大于{max}")
    private String title;

    /**
     * 标题(英文)
     */
    @ApiModelProperty(value = "标题(英文)")
    @Size(max = 255, message = "${validatedValue}长度不能大于{max}")
    private String titleEn;

    /**
     * 图片地址
     */
    @ApiModelProperty(value = "图片地址")
    @NotBlank(message = "[img]不能为空")
    @Size(max = 255, message = "${validatedValue}长度不能大于{max}")
    private String img;

    /**
     * 描述
     */
    @ApiModelProperty(value = "描述")
    @NotBlank(message = "[description]不能为空")
    @Size(max = 1000, message = "${validatedValue}长度不能大于{max}")
    private String description;

    /**
     * 描述(英文)
     */
    @ApiModelProperty(value = "描述(英文)")
    @Size(max = 1000, message = "${validatedValue}长度不能大于{max}")
    private String descriptionEn;

    /**
     * 内容
     */
    @ApiModelProperty(value = "内容")
    @NotBlank(message = "[content]不能为空")
    private String content;

    /**
     * 内容(英文)
     */
    @ApiModelProperty(value = "内容(英文)")
    private String contentEn;

    /**
     * 是否首页推荐
     */
    @ApiModelProperty(value = "是否首页推荐")
    private Boolean homeRecommend;

    private static final long serialVersionUID = 1L;
}